It is well-known that practical Analog to Digital Converters (ADCs) suffer from various errors, for example, offset, gain and linearity errors. These errors stem from various sources, such as non-ideal spacing of transistor levels and timing jitter, just to name a few. These errors contribute significantly to the deterioration of the broadband performance of the ADC. Even with superior design of the individual analog components of the ADC, it may still not be possible to achieve the desired performance. In such cases, digital post-processing can be utilized to provide the extra improvement is needed to achieve the performance goal.
In one approach employed in the prior art, the ADC is operated in a calibration mode with a calibrating signal such as a sinusoid applied to the input. An estimate of the frequency, {circumflex over (ω)}, of the input calibrating signal is determined as
                              ω          ^                =                  arg          ⁢                                          ⁢                                    max                              ω                ∈                                  (                                      0                    ,                    π                                    )                                                      ⁢                                                                          x                  ⁡                                      (                    k                    )                                                  ⁢                                  ⅇ                                      j                    ⁢                                                                                  ⁢                    ω                    ⁢                                                                                  ⁢                    k                                                                                                                        (        1        )            where x(k) are the output samples from the ADC. The maximization of the above equation can be performed iteratively using a Fast Fourier Transform (FFT).
It is also known how to perform linear prediction of sinusoidal signals in a more general sense (not necessarily in the context of calibrating ADCs), given a set of current signal samples and past samples. This typically involves the calculation of coefficients which are very compute-intensive. These are given by
                                          s            ′                    ⁡                      (            k            )                          =                              ∑                          l              =              0                        L                    ⁢                                    c              ⁡                              (                l                )                                      ⁢                          x              ⁡                              (                                  k                  -                  l                                )                                                                        (        2        )            where, s′(k) is the estimate of the current sample, x(k−l) are the past output samples from the ADC, and L is the length of the filter. The coefficients c(l) of the prediction filter are given by
                                          c            ⁡                          (              l              )                                =                                                                      (                                      L                    +                    1                                    )                                ⁢                                  cos                  ⁡                                      (                                          l                      ⁢                                                                                          ⁢                      ω                                        )                                                              +                                                (                                                            S                      s                                        -                                          S                      c                                                        )                                ⁢                                  cos                  ⁡                                      (                                                                  (                                                  l                          +                          2                                                )                                            ⁢                      ω                                        )                                                              -                              2                ⁢                                  S                  sc                                ⁢                                  sin                  ⁡                                      (                                                                  (                                                  l                          +                          2                                                )                                            ⁢                      ω                                        )                                                                                      2              ⁢                              (                                                                            S                      c                                        ⁢                                          S                      s                                                        -                                      S                    sc                    2                                                  )                                                    ⁢                                  ⁢                                  ⁢        where        ⁢                                  ⁢                                  ⁢                              S            c                    =                                    ∑                              l                =                1                                            L                +                1                                      ⁢                                          cos                2                            ⁡                              (                                  l                  ⁢                                                                          ⁢                  ω                                )                                                    ⁢                                  ⁢                                  ⁢                              S            s                    =                                    ∑                              l                =                1                                            L                +                1                                      ⁢                                          sin                2                            ⁡                              (                                  l                  ⁢                                                                          ⁢                  ω                                )                                                    ⁢                                  ⁢                                  ⁢                              S            sc                    =                                    ∑                              l                =                1                                            L                +                1                                      ⁢                                          sin                ⁡                                  (                                      l                    ⁢                                                                                  ⁢                    ω                                    )                                            ⁢                              cos                ⁡                                  (                                      l                    ⁢                                                                                  ⁢                    ω                                    )                                                                                        (        3        )            